From d40dbdf39f8dbfb89f2812c7a11db49d0e73c44f Mon Sep 17 00:00:00 2001 From: "kfraser@localhost.localdomain" Date: Wed, 20 Jun 2007 17:07:15 +0100 Subject: [PATCH] tools: Adjust tools' path calculation. I'm suggesting this change to make another tiny step towards the ability to run the tools e.g. out of the build tree (so that multiple different Xen versions can co-exist without the requirement to re-install the respective version with each boot). Signed-off-by: Jan Beulich --- tools/misc/xen-python-path | 9 +++++++-- tools/python/xen/util/auxbin.py | 9 +++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/tools/misc/xen-python-path b/tools/misc/xen-python-path index da3d2dd2ba..57774a332b 100644 --- a/tools/misc/xen-python-path +++ b/tools/misc/xen-python-path @@ -28,8 +28,13 @@ import os import os.path import sys -for p in ['python%s' % sys.version[:3], 'python']: - for l in ['/usr/lib64', '/usr/lib']: +usr = os.path.dirname(os.path.dirname(sys.argv[0])) +list = [ os.path.join(usr,'lib64') ] +list += [ os.path.join(usr,'lib') ] +list += ['/usr/lib64', '/usr/lib'] + +for l in list: + for p in ['python%s' % sys.version[:3], 'python']: for k in ['', 'site-packages/']: d = os.path.join(l, p, k) if os.path.exists(os.path.join(d, AUXBIN)): diff --git a/tools/python/xen/util/auxbin.py b/tools/python/xen/util/auxbin.py index 5d2066157c..75e38a838e 100644 --- a/tools/python/xen/util/auxbin.py +++ b/tools/python/xen/util/auxbin.py @@ -27,6 +27,7 @@ LIB_64_ARCHS = [ 'x86_64', 's390x', 'sparc64'] import os import os.path +import sys def execute(exe, args = None): @@ -47,6 +48,14 @@ def path(): def libpath(): machine = os.uname()[4] + if sys.argv[0] != '-c': + prefix = os.path.dirname(os.path.dirname(sys.argv[0])) + path = os.path.join(prefix, os.path.basename(LIB_64)) + if machine in LIB_64_ARCHS and os.path.exists(path): + return path + path = os.path.join(prefix, os.path.basename(LIB_32)) + if os.path.exists(path): + return path if machine in LIB_64_ARCHS and os.path.exists(LIB_64): return LIB_64 else: -- 2.30.2